package com.yy.main.app.mapper;

import com.yy.pojo.base.TRole;
import com.yy.pojo.base.TRoleExample;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import javax.annotation.Resource;
import java.util.List;

@Repository
@Resource(name = "dataSource")
public interface TRoleMapper {
    long countByExample(TRoleExample example);

    int deleteByExample(TRoleExample example);

    int deleteByPrimaryKey(String id);

    int insert(TRole record);

    int insertSelective(TRole record);

    List<TRole> selectByExample(TRoleExample example);

    TRole selectByPrimaryKey(String id);

    int updateByExampleSelective(@Param("record") TRole record, @Param("example") TRoleExample example);

    int updateByExample(@Param("record") TRole record, @Param("example") TRoleExample example);

    int updateByPrimaryKeySelective(TRole record);

    int updateByPrimaryKey(TRole record);

    /**
     * <p>
     * 查询出后台管理，角色管理中的数据表格
     * </p>
     *
     * @param name 角色名称
     * @return {@link List}(Role)
     * @author 杨阳
     * @since 2017年9月13日
     */
    public List<TRole> roleTable(@Param("name") String name);

    /**
     * <p>
     * 为人员授权的时候的角色列表，如果当前用户拥的角色，则isown>0
     * </p>
     *
     * @param userid 用户id
     * @return {@link List}(Role)
     * @author 杨阳
     * @since 2017年9月19日
     */
    public List<TRole> userOwnRoleList(@Param("userid") String userid);
}